The present invention relates in general to the processing of high data rate information signals. In particular embodiments it relates to processing of video, audio and/or data information in a direct broadcast satellite (DBS) consumer entertainment system.
The information carrying capacity of any data network is limited by, among other things, its effective bandwidth. Limitations in available bandwidth, resulting from technical limitations of the processing and transmission elements (e.g. transmission line limitations), from government limitations (e.g. limited RF spectrum allocation), or otherwise, restrict the amount of information which can be carried by the related system. This may result in a limitation on the quantity or quality (or both) of the services which may be provided by the system, often requiring compromises or tradeoffs.
Transmission of television programming to home viewers has long been subject to the these limitations and tradeoffs. Terrestrial RF broadcasts are limited in a given locality to a few frequency bands (channels) allocated by government authority for television transmission, and selected to be non-interfering over the limited range of the transmission. The frequency band allocated to each channel was selected to accommodate the then-standard transmission scheme employed (e.g. NTSC in the United States), and to minimize or avoid out-of-band interference. Although additional frequencies (e.g. UHF in the United States) were later allocated, restrictions on available RF spectrum have long limited the number of programs which could be made available to the consumer.
Distribution of program material via cable networks provided additional bandwidth to broadcasters (i.e. cable operators), overcoming in part the restriction imposed by scarcity of available RF spectrum. However, cable systems are technically limited to the useable bandwidth of the network, including the transmission line and associated electronics.
Advances in signal processing technology have permitted more programming information, improved quality, and new services (e.g. data services) to be transmitted within a given available bandwidth. For example, digital processing of both video and audio signals, together with advances in encoding and compression techniques (e.g. MPEG and MPEG-2), have permitted a reduction in the bandwidth required for transmission of video and audio signals of acceptable quality, and/or transmission of higher quality video and audio signals. Together with advances in the associated transmission and reception equipment allowing greater utilization of available spectrum, a dramatic increase in the amount of user programming that can be transmitted over a given medium is possible. In addition, systems have been developed to utilize alternative delivery systems and other portions of the RF spectrum. For example, direct broadcast satellite (DBS) systems provide entertainment and information broadcasts directly to consumers, in some cases by means of high power satellite transponders and small (e.g. 18-inch) consumer receiving dishes. Although one such system is today capable of transmitting over 175 channels of video, audio and/or data programming at higher quality levels than previously known, there remains a desire to provide additional transmission capability and to fully utilize all available bandwidth for benefit of the consumer.
Distribution systems, whether broadcast (satellite or terrestrial), cable, optical, or otherwise, typically provide a plurality of accessible broadcast resources. In an early model, a terrestrial television broadcast system included a number of individual channels or frequency bands, selectable by the consumer. Taking the television system as a whole, each channel available in a given locality provided a broadcast resource accessible by the users in that region and capable of carrying a single video/audio program. Similar frequency division multiplexing on known analog cable systems provides a generally larger number of broadcast resources in the system, again each typically carrying a single program including both video and audio, selectable as a viewer channel. In a digital DBS system, frequency and phase division multiplexing (e.g. multiple transponders operating within assigned frequencies and with LHCP and RHCP polarization) and time division multiplexing (e.g. TDM within a given frequency) may be used. In this context, each individually addressable bitstream (i.e. each selectable time slot on each selectable frequency and phase) may be considered as a separate xe2x80x9cbroadcast resource.xe2x80x9d Where different satellite locations or different delivery media are also employed in an extended system, selection of the desired satellite and transmission media, etc., is also part of identifying an individual broadcast resource.
A broadcast service will therefore have available to it a limited number of broadcast resources. If the quality of individual transmissions can be acceptably reduced, additional broadcast resources might be supported within a given RF spectrum allocation. However, the number of broadcast resources available for transmitting high quality video, audio and data programming remains limited.
A broadcaster or service provider desires to transmit to its customers (e.g. subscribers) the maximum number of programs possible utilizing the available transmission system, at the highest relative quality. As used herein, xe2x80x9cprogramsxe2x80x9d shall include video programming, audio programs, and/or data transmission of various types (e.g. software, control codes, multimedia content, digitized pictures, data, etc.). A program may include more than one form of data, such as video and one or more audio, and in some embodiments, associated data. Each of these data streams may, in preferred embodiments, be transmitted over separate broadcast resources.
A large number of content providers exist today and make available to broadcasters one or more content streams comprising programs and related content (e.g. program IDs, commercials, etc.). Many of these streams are continuous or substantially continuous, and are distributed by the content provider through various distribution media (e.g. satellite, cable, or prerecorded media) to, among other potential recipients, other broadcast services for retransmission to their viewers. For example, numerous regional sports networks exist which assemble program streams containing sporting events, often with sports-related xe2x80x9cfillerxe2x80x9d in the times between individual sporting events.
Although content providers often generate original programs (e.g. by covering a live sporting event), it is common in the industry for one content provider to purchase programs or filler from another content provider. For example, a sports network might purchase retransmission rights to a sporting event being covered by another service provider. In these cases, the purchasing provider receives a program feed from the distribution medium (e.g. satellite) utilized by the originating provider, then retransmits this signal to its customers (e.g. cable system operators for further retransmission to consumers, or directly to consumers). The purchasing provider may insert its own commercials or identity, or may elect to use the purchased feed in its xe2x80x9crawxe2x80x9d form. Often several service providers will purchase and carry the same programming originated by another provider.
A multi-channel broadcast system will typically purchase a number of input program streams from a number of content providers, for retransmission to viewers or subscribers of that system. In a digital transmission system, each individual program stream can be viewed as a continuous input data stream, where the data represents video, audio, or other (e.g. multimedia or data) information, and will be referred to herein as an xe2x80x9cinput data stream.xe2x80x9d A given program may comprise one or more than one input data streams (e.g. one or more video inputs, one or more associated audio inputs, and associated data relating to the program content). Transmitting a given number of input data streams to a number of viewers, such that each data stream is potentially available to users at all times, has typically required at least an equal number of broadcast resources.
In particular, at the transmission end each input data stream is typically assigned to an available broadcast resource. Each input data stream is therefore allocated or xe2x80x9cmappedxe2x80x9d to a unique broadcast resource. The correspondence matrix identifying the input stream-to-broadcast resource relationships may be considered as a xe2x80x9cmapxe2x80x9d. Because the map used at the transmission end is remote from the user (e.g. subscriber), it will be referred to herein as a xe2x80x9cremotexe2x80x9d map.
At the receiving end, a similar map has been used to allocate the data streams received from the broadcast resources to unique, selectable outputs. Each individual output bitstream, corresponding to a particular broadcast resource bitstream, may be referred to as an xe2x80x9coutput data stream.xe2x80x9d When a user selects a particular channel (e.g. channel 101) they expect to receive a particular program at a particular time. The receiving device accomplishes this by maintaining a complimentary receiver or xe2x80x9clocalxe2x80x9d map which specifies the correspondence between broadcast resources and selectable outputs. In some instances, where the desired output consists of information carried over just one broadcast resource, the local map will specify correspondence between that broadcast resource and the selected output, which will consist of a single output data stream. For example, if the video and audio components of a program are encoded into a single input data stream, then selection of a program or viewer channel requires mapping of only one data stream, with the components being separated by other processors. In other instances (e.g. a movie having one or more video options, a plurality of selectable high quality audio, and/or optional related data), selection of a desired output may require mapping multiple output data streams to the corresponding broadcast resources. In these instances, the user selects a desired xe2x80x9cviewer channelxe2x80x9d (e.g. channel 101) and makes any optional selections (e.g. alternate audio), and the local map identifies the necessary output data streams and maps them to appropriate broadcast resources. These output data streams may be directed to an appropriate processing or performance device, such as (without limitation) a television display, audio processor, or computer. Where options are available (e.g. alternate audio), the selected option may be mapped to an output corresponding to a related processor based on a user select input, or all of the options may be mapped to a processor which itself isolates the appropriate output. In specific embodiments, components of different programs (e.g. video from a first program and audio from a different source) may be locally mapped to an output viewer channel, thereby creating a hybrid derived output.
It is important that both the remote and local maps correspond at any given time, so that selection by the user of a viewer channel will map the receiving circuitry to the correct broadcast resource(s) which, in turn, are mapped to the input data stream(s) desired by the user. It is known to modify the allocation maps from time to time. This may be done, for example, when a broadcast resource becomes unavailable, or when a reallocation of bandwidth provided by individual resources is required, such as when new input data streams are added to, or old ones removed from, a system. Such map changes have been infrequent, however, typically one to three times per day.
It is also known to locally generate derivative output data streams or viewer channels which do not correspond to any single input data stream. For example, a local processor may map a particular viewer channel to a first set of one or more broadcast resources during a first time period, then map that viewer channel to a different set of broadcast resources during a subsequent time period. In this manner, a processor has been able to provide viewers with a greater number of viewer channels than the number actually broadcast.
For purposes of the ensuing description and claims, the following notation convention may be useful. The numerical correspondence between individual input data streams and individual broadcast resources (related to the remote map), and the numerical correspondence between those broadcast resources and individual output data streams (related to the local map), may be given as IN:BR:OUT, where IN equals the number of discrete input data streams, BR represents the number of discrete broadcast resources, and OUT represents the number of discrete output data streams. In the simplest 1:1:1 correspondence, n input data streams are mapped to n broadcast resources, which are in turn mapped to n output data streams, or n:n:n. As previously noted, it is also known to generate derivative channels, which may be represented as n:n:n+x correspondence or mapping, where n and x are integers greater than or equal to one. In this example, although a 1:1 correspondence exists between input data streams and broadcast resources, a 1: greater than 1 mapping is performed by the local map, resulting in x derivative output channels.
Although revision of the maps to accommodate infrequent changes in the input data streams or active broadcast resources, and n:n:n+x mapping to locally generate derivative channels, have provided a useful degree of flexibility in the operation of existing systems (e.g. high capacity DBS), it would be useful to reduce the amount of bandwidth required to carry desired programming, thereby allowing additional services and/or higher quality services to be carried by the same broadcast resources.
Finally, it is known that certain control and configuration information must be transmitted, in addition to the desired input data streams. Using channel maps introduces difficulties in generating and maintaining an accurate local map which reflects the current utilization of broadcast resources. Changes in the utilization of resources over time require the local map to be updated, typically by transmitting or downloading a new map to a viewer""s receiver such as (for a typical DBS system) an integrated receiver/decoder (IRD). For a system having a large number of channels (i.e. 175 or more), the local map may comprise a matrix of several thousand bytes of data listing the appropriate broadcast resources for each viewer channel, for one or more time periods. Such xe2x80x9coverheadxe2x80x9d data transmission requires bandwidth which is therefore not available for delivery of desired consumer services. In the case of infrequent map updates, this overhead has been tolerable, although not desired. If the complexity or size of the local map were increased, or if revisions to the local map were frequent, the amount of overhead bandwidth required could become unacceptably large.
Transmission of local map data also requires time, the amount of which depends on the amount of map data and the allocated effective baud rate. Other sources of delay in generating and activating an updated map may also exist. For example, an IRD ordinarily continues to use a map until it determines the complete transmission of a more recent, updated map. Typically the IRD checks for the existence of an updated map at only predetermined intervals. Thus, another source of delay is introduced in activating a new local map.
The time delays involved with transmitting updated local maps to IRDs have also made maintaining updated maps cumbersome. The transmission of updated maps has thus been typically limited to a fixed number of predetermined times during the broadcast day, e.g. two or three times per day. Changes in the utilization of broadcast resources are therefore limited by the practical ability to update the local map. Improved flexibility in updating channel maps would allow greater flexibility in maximizing the utilization of broadcast resources.
The present invention relates to a transmission distribution system which conserves transmission bandwidth by consolidating the broadcast of simultaneous common programming from a number of different program streams comprising a number of input data streams, onto a lesser number of broadcast resources by using a unique mapping scheme. Program information may include, but is not limited to, video programming, audio programming, and/or various data services.
For example, in a television system having a large number of viewer channels, a number of different input data (e.g. program) streams may include the same programming material at a given time or times. Such simultaneous common programming typically occurs during sporting events or other live telecasts (e.g. special news events). The present invention allows all or a portion of such simultaneous programming to be broadcast over a lesser number of allocated broadcast resources, preferably a single broadcast resource for each program or program component (e.g. video, audio1, audio2, etc.), and locally mapped to the appropriate multiple viewer channels. In this manner, output data streams can be generated locally which are identical or sufficiently identical in relevant content to the numerous input data streams, although a reduced number of broadcast resources are utilized. The difference between the number of broadcast resources previously required to transmit each input data stream separately (n), and the lesser number required by the present invention (nxe2x88x92y), represents newly-available broadcast resources (y) which may be used for beneficial purposes.
Use of such n:nxe2x88x92y:m mapping, where nxe2x89xa72,n greater than yxe2x89xa61, and mxe2x89xa7n, frees y broadcast resources during the periods of n:nxe2x88x92y remote mapping. These broadcast resources and bitstreams are thus available for transmission of alternate data (e.g. additional program information or data services) or higher-quality transmission of existing services (e.g. HDTV or AC3 audio).
In a preferred embodiment, the bitstreams thus made available for alternate use in successive time slots are concatenated to generate one or more substantially continuously available broadcast resources. For example, a first broadcast resource might be xe2x80x9cfreed-upxe2x80x9d as a result of the inventive mapping discussed above, from 1:00 p.m.-3:00 p.m. A second broadcast resource might be xe2x80x9cfreed-upxe2x80x9d from 3:00 p.m.-5:00 p.m., etc. A remote map can be generated to map the programming which would otherwise be allocated to a particular broadcast resource, instead onto these xe2x80x9cnewxe2x80x9d resources during these time periods, thus freeing that particular resource. By continuing to map all of the sequential programs normally allocated to that particular broadcast resource instead to the various freed-up resources in this manner, the particular broadcast resource can provide a continuously available resource to more conveniently support alternate program transmission or other data services. In other embodiments, the alternate programming or data service can itself be distributed among the several broadcast resources made available during individual time slots, and reconstructed by means of a suitable local map.
In aspects of the invention, the channel mapping described is dynamically updated. It may, for example, be synchronized to frequent (e.g. real-time) changes in the desired utilization of particular broadcast resources, to accommodate dynamically changing similarity or identity between certain input data streams. By way of example, the mapping may be modified as often as required, and when required, in order to generate at least n output data streams sufficiently identical in relevant content to n input data streams, by means (at least periodically) of fewer than n broadcast resources. By dynamically adjusting the necessary mapping as required to meet such changing circumstances (i.e. as redundant programs begin and end on one or more sets of input data streams, or as non-common content such as desired commercials or source identifications occur in programs involved in n:nxe2x88x92y remote mapping, or as load requirements on the transmission media vary), maximum utilization of available broadcast resources can be achieved.
To accomplish the flexibility of dynamic channel mapping, a channel map generator generates channel maps reflecting the assignment of broadcast resources during particular time periods or slots. The channel map generator may identify those time periods during which identical program material is or will be present in two or more input streams. The channel map generator may utilize, in certain embodiments, pre-arranged scheduling which is typically supplied by content providers to broadcasters, often days in advance. In other embodiments, a content comparitor may monitor two or more input data streams for sufficient correlation in content, automatically recognizing the occurrence of substantially identical input streams as they occur and making this information available to the channel map generator. For example, the input program streams may be monitored for ID sequences used by content providers to identify the subject programs. Occurrence of the same program IDs associated with two or more input programs or streams in a common time period (i.e. beginning at or near the same time) would signal occurrence of common content. In other embodiments, the program content itself could be compared. Where automatic correlation is utilized, a suitable delay period may be used such that the channel maps are not altered unless substantial identity between two or more input data streams is recognized for at least a selected time period, thereby indicating a substantial identity and not mere coincidence in content during a brief period.
In other embodiments, the broadcaster may have need for an available broadcast resource during particular time slots. The map generator may then be instructed to attempt to identify input data stream redundancies during the desired periods in order to free the needed broadcast resource(s), or may be instructed to eliminate less-desired programs if necessary and generate new maps to reflect these changes as needed in order to free the desired broadcast resources.
When the channel map generator has identified opportunities for beneficial n:nxe2x88x92y:m mapping, in any of the foregoing manners or otherwise, it will generate the necessary broadcast (remote) and receiver (local) maps required. The local map is then transmitted to the viewer or subscriber stations, typically by means of the broadcast medium itself. For example, the local channel maps may comprise part of a control data transmission on one or more dedicated broadcast resources. In a typical DBS system employing multiple transponders, the information may be included in an appropriate data transmission carried by each transponder so that it will be available to the IRD regardless of which transponder is tuned at any given time.
Transmission of the local map requires allocation of broadcast bandwidth, which can be counterproductive to the desired goal of maximizing bandwidth available for useful program transmission. This is particularly true in a fully dynamic system, which might require frequent transmission of new maps to accommodate changes in the program streams. For example, if the mapping scheme is accommodating numerous redundancies to free several broadcast resources, including some program streams which have relatively frequent requirements for remapping to a 1:1 correspondence (e.g. during desired commercials or source identifications), the transmission of map data could be a significant burden on the system. In other important aspects of the present invention, these difficulties are avoided by providing improved transmission and updating schemes for local maps. For example, in preferred embodiments the receiving apparatus which receives and stores the local map is adapted to receive updates to less than the complete map. In this manner, only the changed information, together with necessary overhead, is required for transmission when a map update is desired. In the case of a high capacity DBS system, this may result in significant bandwidth saving since the majority of programs, and therefore broadcast resources, will not be involved in dynamic re-mapping during most time slots. Therefore the majority of the local map may be relatively static (as in the prior art) while other portions can be dynamically updated in accordance with the present invention. Although the complete local map may preferably be transmitted occasionally (to permit activation of new equipment and provide a periodic integrity check to correct any errors), such full map transmissions are reduced.
To further minimize transmission requirements for map changes, a plurality of complete maps may be transmitted and stored locally. For example, a first complete map can be transmitted and stored, followed by a second complete map stored in other memory. The receiving apparatus includes a map selector (e.g. selection vector, multiplexor, etc.) which selects the stored map that is to be active at a given time. To accomplish a change in local mapping, it is then necessary only to cause the receiver to select the desired alternate map. More than one available map may be locally stored, and transitions between these maps may be made repeatedly. For example, one map might allocate viewer channels to the broadcast resources during normal program periods, while another map returns to 1:1 correspondence during commercials (e.g. where it is contractually required that the promotional content of an input data stream be made identically available to viewers). Although a given program might have many commercials, each requiring two map changes, only two map transmissions would be required, followed by suitable signals to initiate the necessary local map selections. These selection signals will typically require much less transmission bandwidth than a complete or partial map, resulting in significant bitstream savings.
To minimize memory requirements (e.g. in a DBS IRD), the map may be divided into individual regions or segments, such as a main map and a plurality of sub-maps. The main map (which may be considered as a specialized sub-map) can contain mapping information which is common to all of a plurality of selectable maps, while other sub-maps may include those portions of the mapping which are unique to individual selectable maps. Transition from one map to another would require selection only of the appropriate sub-map, while the main map would continue to be effective. In this manner, additional transmission resources are saved since the common portion of the several local maps need only be transmitted once, and map updates, selection and transitions are facilitated.
A standard IRD today typically includes only a single tuner. In such devices, only one LNB frequency (i.e. corresponding to a single transponder) can be selected and processed at a given time. Accordingly, only one set of entries in the local map corresponding to the broadcast resources supported by that transponder are relevant to operation of the IRD at any given time. The remaining entries are relevant only if the user selects a different viewer channel corresponding to a different transponder. Where the active local map (which may be one of a plurality of selectable maps in certain embodiments) is functionally divided into regions (e.g. a plurality of sub-maps), only one of the regions need be active at a given time. The active region will depend on the present viewer channel selected by the user. If the user selects another viewer channel supported by the same map region (e.g. another program carried by the same transponder), that region will remain active. If the user, however, selects a different viewer channel which is supported by a different region, then the latter region of the local map will become active. In other embodiments, the processing circuits and functions which maintain and update the local map(s) may recognize the active region in the local map, allowing updates to any other region or cell. In other embodiments, updates may be made to any cell of any map, including the presently active map, so long as map read cycles are preferably prohibited during any update cycles of at least the presently active cell or region.
The foregoing aspects of the present invention greatly reduce time delays and overhead requirements when making local map changes. Reducing at least some transmissions to only those portions of a map which must be updated, or eliminating at least some repetitive or redundant map information transmissions, not only reduces the amount of bandwidth required for transmitting the overhead information, but also reduces the time required for making the necessary data transmission. For example, the time required to send a complete channel map in a high capacity DBS system, utilizing generally allocated transmission resources and speeds, could be two to three seconds or longer. Typically a complete map must be received accurately before the new map can be implemented, thereby restricting how quickly the system can adapt to changing requirements. Further, certain receiving equipment may impose its own hardware or processing restrictions in activating newly delivered local maps. In other aspects of the present invention, these shortcomings are minimized or eliminated. For example, by sending only update portions of a local map (e.g. individual sub-maps), the transmission times required are significantly reduced. Further, by transmitting a plurality of alternate and/or sub-maps once, and storing them locally for later selection, subsequent transmission delays (e.g. when commercials occur during a program) are completely avoided.
To dynamically synchronize changes in the utilization of broadcast resources, the map system may include a synchronization mechanism to coordinate activation of maps. The synchronization mechanism may include a timestamp instructing map selectors when and/or how particular map information (whether complete or partial) is to become effective. By way of example, the timestamp may indicate immediate activation, or an absolute time (e.g. GMT) upon which the map is to become active. In aspects of the present invention, the timestamp may also comprise an offset or delay time after which it is to become active (e.g. two seconds after receipt, or ten frames after a trigger event, etc.); a trigger event which will cause the map to become effective (e.g. receipt of a command over a command data stream or as part of the program data stream); activation in response to action by a local user (e.g. manual selection of a local map by means of a control panel or remote control device); or other suitable means. Where an absolute timestamp is used, all apparatus can be synchronized to switch effective maps at the same instant. This will be particularly useful where changes in the input data streams are known in advance (e.g. program changes are scheduled in advance to occur at certain known times). The use of a trigger event permits greater flexibility to accommodate unscheduled changes (e.g. early or late game starts, game completions, or time-outs during a sporting event during which commercials must be 1:1 mapped to viewer channels, etc.). Where a plurality of selectable local maps are stored in local memory, they may be switched nearly instantaneously by the local apparatus on receipt of the appropriate time or trigger, resulting in a tightly synchronized and highly flexible dynamic mapping system.
Both the foregoing general description and the following detailed description of presently preferred embodiments are exemplary and explanatory only, and are intended to provide further explanation of the invention as claimed. The invention will be further understood by reference to the following description of preferred embodiments, taken in conjunction with the accompanying drawings. It is to be understood, however, that the description of preferred embodiments is not intended to be limiting, and the present invention and claims are not intended to be limited to the embodiments as described.